let fs = require("fs");

//node中的顶级对象（类似于window）
// console.log(global);

//此js文件目录（不包含js）
// console.log(__dirname);

//此js文件目录（包含js）
// console.log(__filename);
             

/* //文件操作
    //1)打开文件
    let fd = fs.openSync("./文件夹/index.html","a")
    console.log(fd);       //返回3（返回表示文件描述符的整数。）
    //2)输入内容
    console.log(fs.writeSync(fd,"你好，我是新加的内容"));       //写入内容，不会覆盖               
    fs.closeSync(fd); */

//文件操作命令
    // 1) 写入（会覆盖）
    // fs.writeFileSync("./文件夹/index.html","你好，我是writeFileSync新加的内容\n");


    // 2) 写入（不会覆盖）
    // fs.appendFileSync("./文件夹/index.html","你好，我是appendFileSync新加的内容\n");
    
    // 3) 读文件
    // let a = fs. readFileSync("./文件夹/index.html");
    // console.log(a.toString("utf-8"));
    
    // 4) 删除文件
    // fs.unlinkSync("./文件夹/1.js");
    
    // 5) 查看文件属性
    // let b = fs.statSync("./文件夹/index.html");
    // console.log(b);

    // 6) 改文件名
    // fs.renameSync("./文件夹/in.html","./文件夹/index.html");

//目录操作命令
    //创建目录ok.txt
    // fs.mkdirSync("./ok");       

    // 删除目录
    // fs.rmdirSync("./ok");

    // 读取目录(返回一个数组，内容为文件名和子目录名)
    // let c = fs.readdirSync("./文件夹");
    // console.log(c);


    // 练习：读取文件夹下所有文件，是文件就存到数组里，最后输出数组
    let arr = [];
    console.log(read("./文件夹"));
    function read(url){
        let data = fs.readdirSync(url);
        for(let item of data){
            let stats = fs.statSync(url + "/" + item);
            if(stats.isFile()){
                //是文件
                arr.push(url + "/" + item);
            }else{
                //是目录 
                read(url + "/" + item);

            }

        }
        return arr;

    }


